
#include "BotaoChromeFechar.h"
#include "PetLab.h"


BotaoChromeFechar::BotaoChromeFechar(int x, int y)
    : Botao(43, 19, x, y)
{
    BotaoAzul();
}


void BotaoChromeFechar::BotaoAzul()
{
    MatrizRGBA& matriz = Matriz();

    for(int i=0; i<44; i++)
        for(int j=0; j<20; j++)
            matriz[i][j] = RGBA(0,0,0,0);;

    static const int cores_e[] = {RGBA( 71, 71, 71,255), RGBA( 83,145,220,255),
                                  RGBA( 66,124,194,255)};
    static const int cores_c[] = {RGBA(135,184,243,255), RGBA( 89, 89, 89,255),
                                  RGBA(255,  0,  0,255)};
    for(int i=0; i<44-2; i++)
        for(int j=0; j<20-2; j++)
            matriz[i][j] = RGBA(74,144,227,255);

    for(int i=0; i<44; i++)
        for(int j=0; j<2; j++)
            matriz[i][2-j-1] = cores_c[j];

    for(int i=0; i<17; i++)
        matriz[0][i+1] = RGBA(51,92,143,255);
    for(int i=0; i<17; i++)
        matriz[1][i+1] = RGBA(144,189,243,255);
    for(int i=0; i<41; i++)
        matriz[i][18] = RGBA(51,92,143,255);
    matriz[41][10+8-1] = RGBA(51,92,143,255);
    for(int i=0; i<16; i++)
        matriz[42][i+1] = RGBA(51,92,143,255);
    for(int i=0; i<41; i++)
        matriz[i][19] = RGBA(110,168,237,255);
    for(int i=0; i<15; i++)
        matriz[1+42][i+2] = RGBA(110,168,237,255);

    int botao_x[10][11] = {{0,2,2,2,0,0,0,2,2,2,0},
                           {2,1,1,1,2,0,2,1,1,1,2},
                           {0,2,1,1,1,2,1,1,1,2,0},
                           {0,0,2,1,1,1,1,1,2,0,0},
                           {0,0,0,2,1,1,1,2,0,0,0},
                           {0,0,0,2,1,1,1,2,0,0,0},
                           {0,0,2,1,1,1,1,1,2,0,0},
                           {0,2,1,1,1,2,1,1,1,2,0},
                           {2,1,1,1,2,0,2,1,1,1,2},
                           {0,2,2,2,0,0,0,2,2,2,0}};

    for(int i=0; i<10; i++)
        for(int j=0; j<11; j++)
            if(botao_x[i][j]==1)
                matriz[12+2+j][8-4+1+i] = RGBA(187,214,246,255);
            else if(botao_x[i][j]==2)
                matriz[12+2+j][8-4+1+i] = RGBA(33,61,94,255);
}


void BotaoChromeFechar::BotaoVermelho()
{
    MatrizRGBA& matriz = Matriz();

    for(int i=0; i<44; i++)
        for(int j=0; j<20; j++)
            matriz[i][j] = RGBA(0,0,0,0);;

    /*static const int cores_e[] = {RGBA(171, 71, 71,255), RGBA( 83,145,220,255),
                                  RGBA(166,124,194,255)};*/
    static const int cores_c[] = {RGBA(242,147,148,255), RGBA( 89, 89, 89,255),
                                  RGBA(255,  0,  0,255)};
    for(int i=0; i<44-2; i++)
        for(int j=0; j<20-2; j++)
            matriz[i][j] = RGBA(216,77,75,255);;

    for(int i=0; i<44; i++)
        for(int j=0; j<2; j++)
            matriz[i][2-j-1] = cores_c[j];

    for(int i=0; i<17; i++)
        matriz[0][i+1] = RGBA(51,92,143,255);
    for(int i=0; i<17; i++)
        matriz[1][i+1] = RGBA(242,147,148,255);
    for(int i=0; i<41; i++)
        matriz[i][18] = RGBA(51,92,143,255);
    matriz[41][10+8-1] = RGBA(51,92,143,255);
    for(int i=0; i<16; i++)
        matriz[42][i+1] = RGBA(51,92,143,255);
    for(int i=0; i<41; i++)
        matriz[i][19] = RGBA(110,168,237,255);
    for(int i=0; i<16; i++)
        matriz[1+42][i+1] = RGBA(110,168,237,255);

    int botao_x[10][11] = {{0,2,2,2,0,0,0,2,2,2,0},
                           {2,1,1,1,2,0,2,1,1,1,2},
                           {0,2,1,1,1,2,1,1,1,2,0},
                           {0,0,2,1,1,1,1,1,2,0,0},
                           {0,0,0,2,1,1,1,2,0,0,0},
                           {0,0,0,2,1,1,1,2,0,0,0},
                           {0,0,2,1,1,1,1,1,2,0,0},
                           {0,2,1,1,1,2,1,1,1,2,0},
                           {2,1,1,1,2,0,2,1,1,1,2},
                           {0,2,2,2,0,0,0,2,2,2,0}};

    for(int i=0; i<10; i++)
        for(int j=0; j<11; j++)
            if(botao_x[i][j]==1)
                matriz[12+2+j][8-4+1+i] = RGBA(255,255,255,255);
            else if(botao_x[i][j]==2)
                matriz[12+2+j][8-4+1+i] = RGBA(0,0,0,255);
}



bool BotaoChromeFechar::AoMoverSobre(EventoMoverSobre ev)
{
    BotaoVermelho();
    ev.janela->Redesenhar(this);

	return false;
}


bool BotaoChromeFechar::AoMoverFora(EventoMoverFora ev)
{
    BotaoAzul();
    ev.janela->Redesenhar(this);

	return false;
}



